Unity3D :PlayableGraph

您所在的位置:网站首页 unity 画板 Unity3D :PlayableGraph

Unity3D :PlayableGraph

2023-05-22 20:43| 来源: 网络整理| 查看: 265

Unity3D :PlayableGraph_3D

推荐:将NSDT场景编辑器加入你的3D工具链

3D工具集:NSDT简石数字孪生

PlayableGraph

PlayableGraph 定义一组绑定到 GameObject 或组件的可播放输出项。PlayableGraph 还定义一组可播放项及其依赖关系。图 1 提供了一个示例。

PlayableGraph 负责管理可播放项及其输出的生命周期。使用 PlayableGraph 可创建、连接和销毁可播放项。

Unity3D :PlayableGraph_静态方法_02

图 1:PlayableGraph 示例

在图 1 中,显示 PlayableGraph 时,为了紧凑,从图形节点的名称中移除了“Playable”一词。例如,名为“AnimationClipPlayable”的节点显示为“AnimationClip”。

Unity3D :PlayableGraph_静态方法_03

可播放项是一种继承 IPlayable 接口的 C# 结构体。它用于定义其与其他可播放项的关系。同样,可播放项输出是继承 IPlayableOutput 接口的 C# 结构体,用于定义 PlayableGraph 的输出。

图 2 显示了最常见的核心可播放项类型。图 3 显示了核心可播放项输出类型。

Unity3D :PlayableGraph_静态方法_04

图 2:核心可播放项类型

Unity3D :PlayableGraph_静态方法_05

图 3:核心可播放项输出类型

The playable core types and playable output types are implemented as C# structs to avoid allocating memory for garbage collection.

“Playable”是所有可播放项的基本类型,这意味着您总是可以隐式将一个可播放项转换为 Playable。相反的情况并不成立,如果将“Playable”显式转换为不兼容类型,则会抛出异常。它还定义能在可播放项上执行的所有基本方法。要访问特定于类型的方法,您需要将可播放项转换为相应类型。

PlayableOutput 也是如此,它是所有可播放项输出的基本类型,定义了基本方法。

注意:Playable 和 PlayableOutput 未暴露大量方法。但“PlayableExtensions”和“PlayableOutputExtensions”静态类提供了扩展方法。

所有非抽象可播放项都有一个公有静态方法 Create(),该方法创建相应类型的可播放项。“Create()”方法始终将 PlayableGraph 作为其第一个参数,该图拥有新创建的可播放项。某些类型的可播放项可能需要其他参数。非抽象可播放项输出还会暴露 Create() 方法。

有效的可播放项输出应链接到可播放项。如果可播放项输出未链接到可播放项,则可播放项输出不执行任何操作。要将可播放项输出链接到可播放项,请使用 PlayableOutput.SetSourcePlayable() 方法。对于该特定可播放项输出,链接的可播放项充当可播放项树的根。

要将两个可播放项连接在一起,请使用 PlayableGraph.Connect() 方法。请注意,某些可播放项不能有输入。

使用 PlayableGraph.Create() 静态方法来创建 PlayableGraph。

使用 PlayableGraph.Play() 方法来播放 PlayableGraph。

使用 PlayableGraph.Stop() 方法来停止播放 PlayableGraph。

使用 PlayableGraph.Evaluate() 方法来评估 PlayableGraph 在特定时间的状态。

使用 PlayableGraph.Destroy() 方法来手动销毁 PlayableGraph。此方法会自动销毁 PlayableGraph 创建的所有可播放项和可播放项输出。必须手动调用此销毁方法来销毁 PlayableGraph,否则 Unity 会发出一条错误消息。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3